LCLint User's Guide

Version 2.2
August 1996

David Evans
Systematic Program Development Group
MIT Laboratory for Computer Science

LCLint is a tool for statically checking C programs. With minimal effort, LCLint can be used as a better lint.[1] If additional effort is invested adding annotations to programs, LCLint can perform stronger checks than can be done by any standard lint.

Some problems detected by LCLint include:

LCLint checking can be customized to select what classes of errors are reported using command line flags and stylized comments in the code.

This document is a guide to using LCLint. Section 1 is a brief overview of the design goals of LCLint. Section 2 explains how to run LCLint, interpret messages produce, and control checking. Sections 3-10 describe particular checks done by LCLint.

Contents

  1. Overview
  2. Operation
  3. Abstract Types
  4. Function Interfaces
  5. Memory Management
  6. Sharing
  7. Value Constraints
  8. Macros
  9. Naming Conventions
  10. Other Checks

Appendices

Appendix A. Availability
Appendix B. Communication
Appendix C. Flags
Appendix D. Annotations
Appendix E. Control Comments
Appendix F. Libraries
Appendix G. Specifications
Appendix H. Emacs

Figures

References
Acknowledgements


Next Section LCLint Home Page David Evans
Systematic Program Development
evs@larch.lcs.mit.edu